//设置权限的点击事件
function editPermission(index) {
    $("#role_datagrid").datagrid("selectRow",index);
    var row = $("#role_datagrid").datagrid("getSelected");
    $("#dlg").dialog({
        closed:false,
        title:"设置权限",
        width: 400,
        height: 200,
        toolbar:"#role_dialog_buttons"
    });
    console.log(row.id);
   $.post("/permission/selectPermissionByRoleId",{id:row.id},function (data) {
       console.log(data);
        $('#permisssions_combox').combobox('setValues',data);
    })
    //点击授权的时候,把

    $("#ro_add_form").form("load",row);

}


$(function () {
    var role_datagrid=  $("#role_datagrid");
    var role_dialog=  $("#role_dialog");
    var role_add_form= $("#role_add_form");
    var ro_add_form= $("#ro_add_form");
    var permisssions_combox= $("#permisssions_combox");


    var cmdObj={
        editUser:function () {
            $('#dg').dialog("open");
        },
        reloadRole:function() {
            role_datagrid.datagrid("reload");
        },
        reload:function() {
            role_datagrid.datagrid("reload");
        },
        cancel:function(){
            role_dialog.dialog("close")
        },
        addRole:function() {

            role_add_form.form("clear");
            role_dialog.dialog("setTitle","添加");
            //将右边的数据加载完以后存入缓存中
            role_dialog.dialog("open");
        },
        editRole:function() {
            var selectedRow= role_datagrid.datagrid("getSelected");
            if(!selectedRow){
                $.messager.alert("提示","请选择一行","error");
            }
            role_add_form.form("clear");
            role_add_form.form("load",selectedRow);
            role_dialog.dialog("setTitle","修改");
            //将右边的数据加载完以后存入缓存中
            role_dialog.dialog("open");
        },
        editPermission:function () {
            //处理表单的回显
            var selectedRow = role_datagrid.datagrid("getSelected");

            if (!selectedRow) {
                $.messager.alert("提示", "老铁,请选择一行数据", "error");
                return;
            }

            //清空数据
            role_add_form.form("load" , selectedRow) ;

            // 读取记录填充到表单中。数据参数可以是一个字符
            // 串或一个对象类型，如果是字符串则作为远程URL，否则作为本地记录。
            role_add_form.form("load".selectedRow);
            $.post("/permission/queryByRoleId",{roleId:selectedRow.id},function(data){
                //加载本地数据旧的将被移除
                permission_self_datagrid.datagrid("loadData",data);
            });

            //处理菜单的回显,通过角色的id查询权限的id集合,调用combotree的setValue方法
            $.post("/permission/listIdsByRoleId",{roleId:selectedRow.id},function (data) {
                role_menu.combobox("setValue",data);//设置为true
            })

        },
        //点击确定关闭
        canceldg:function () {
            $("#dlg").dialog({
                closed:true
            })
        },
        savePermission:function () {
            var url = "/role/insertPermissionsId ";
            //获取判断隐藏域中的值,如果存在是编辑
           /* var roleId = $("#ro_id").val();
            if(roleId){
                var url = "/role/update";
            }*/
            ro_add_form.form("submit", {
                url: url,
                onSubmit: function (param) {
                    //手动获取右边的数据
                    var rows = permisssions_combox.combobox("getValues");
                    console.log(rows)
                    //获取已经选中的数据
                    //迭代,拼接成后台需要的数据
                    for (var i = 0; i < rows.length; i++) {
                        //取到每一行数据
                        var row = rows[i];
                        param['permissions[' + i + '].id'] = row;
                    }
                },
                //接受一个data的数据,执行成功后返回的数据
                success: function (data) {
                    data = $.parseJSON(data);//转换为json格式的数据
                    if (data.success) {
                        //如果data
                        $.messager.alert('提示', '保存成功', 'info', function () {
                            //关闭对象狂
                            cmdObj.canceldg();
                            cmdObj.reload();
                        });
                    } else {
                        $.messager.alert('提示', data.msg, 'error');
                    }
                }
            });
        },
        save:function() {
            var url="/role/save";
            var roleId= $("#role_id").val();
            if(roleId){
                url="/role/update"
            }
            role_add_form.form("submit",{
                url:url,
                success:function(data) {
                    data=$.parseJSON(data);
                    if(data.success){
                        $.messager.alert("提示","操作成功","info",function () {
                            cmdObj.cancel();
                            cmdObj.reloadRole();
                        })
                    } else {
                        $.messager.alert("提示",data.msg,"error");
                    }
                }
            })
        },
        deleteRole:function() {
            var selectedRow= role_datagrid.datagrid("getSelected");
            if(!selectedRow){
                $.messager.alert("提示","请选择一行","error");
            }
            $.messager.confirm("提示","是否确定删除",function (yes) {
                if(yes){
                    //发送ajax请求
                    $.post("/role/delete",{id:selectedRow.id},function (data) {
                        if(data.success){
                            $.messager.alert("提示","操作成功","info",function () {
                                cmdObj.cancel();
                                cmdObj.reloadRole();
                            })
                        }else {
                            $.messager.
                            alert("提示",data.msg,"error")
                        }
                    })
                }

            })
        }
    }

    //2.按钮的点击事件通过js来绑定
    $("a[data-cmd]").click(function () {
        var cmd = $(this).data("cmd");
        //cmd = "addEmp";
        //cmdObj[cmd]  :根据cmd的值,找到 cmdObj 对应的方法
        //cmdObj[cmd]() : () ,触发方法的执行
        cmdObj[cmd]();
    });

})
/**
 *
 * @param val 字段值
 * @param row 方记录数据
 * @param index 方索引
 * @returns {string}
 */
function formatPermission(val,row,index){
    return '<a href="#" onclick="editPermission('+index+')">授权</a>';
}
function editUser(index) {
    $('#dg').dialog("open");
}
